import router from './router'
import Storage from "./utils/session.js"
import {
	login,
	logout,
	getInfo
} from '@/api/user'
import {
	getToken,
	removeToken
} from '@/utils/auth'
import useUserStore from '@/store/modules/userinfo'
import { Message } from 'element-ui';
const whiteList = ['/login', '/reg'];

// 全局守卫
router.beforeEach((to, from, next) => {
	// 检查目标路由是否在白名单中
	if (whiteList.indexOf(to.path) !== -1) {
		next();
	} else {
		// 如果不在白名单中，检查登录状态
		let user = JSON.parse(Storage.getSession())
		let token = getToken(); // 获取token的函数

		if (user && token) {
			// 如果有用户信息和token，检查过期时间
			let nowDate = new Date().getTime();
			let userLastActive = new Date(user.infoData).getTime();
			let timeDifference = (nowDate - userLastActive) / 1000 / 60; // 计算时间差（分钟）
			if (timeDifference >= 118) {
				Message.warning("登录失效，请重新登录")
				removeToken();
				Storage.clearSession();
				next('/login');
			} else {
				next();
			}
		} else {
			// 如果没有用户信息或token，跳转到登录页
			next('/login');
		}
	}
});